const readline = require('readline');

/**
 * 判断一个数是否为水仙花数
 * 修改点：输入错误或范围错误时，不再报错，而是直接返回 false
 * @param {number} num - 输入的数字
 * @returns {boolean} - 是水仙花数返回 true，否则返回 false
 */
function isNarcissisticNumber(num) {
    // 1. 输入验证：必须是有效数字且为整数
    if (typeof num !== 'number' || isNaN(num) || !Number.isInteger(num)) {
        return false;
    }

    // 2. 范围验证：必须是三位数 (100-999)
    if (num < 100 || num > 999) {
        return false;
    }

    // 3. 提取各位数字
    const hundreds = Math.floor(num / 100);       // 百位
    const tens = Math.floor((num % 100) / 10);    // 十位
    const units = num % 10;                       // 个位

    // 4. 计算立方和
    const sum = Math.pow(hundreds, 3) + Math.pow(tens, 3) + Math.pow(units, 3);

    // 5. 比较并返回结果
    return sum === num;
}



const rl = readline.createInterface({
   input: process.stdin,
   output: process.stdout
});

rl.on('line', (input) => {
   try {
       // 尝试将输入转换为数字
       // 如果输入 "abc"，这里会变成 NaN，传入函数后会被第一步拦截返回 false
       const num = Number(input.trim());

       console.log(isNarcissisticNumber(num));

   } catch (error) {
       console.error("发生未知错误:", error.message);
   } finally {
       rl.close();
   }    
});
